<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;
use App\Http\Controllers\Api\SendMail;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Api\HomeIndexMethod;
use App\Model\HomeUserModel;
use App\Model\HomeUserCaptcha;
use App\Model\HomeUserAddress;
use App\Http\Controllers\Api\IndexApi;
use App\Http\Controllers\Home\ShowLinksController;

/**
 * 用户中心
 */
class HomeUserController extends Controller
{
    // 显示用户安全页
    public function HomeUser(Request $request)
    {
        // 找到session中的用户
        $user = $request->session()->get('Homeuser-data');

        // 找出数据库内的用户
        $validata = HomeUserModel::select('id')->where('id', $user['id'])->get();

        // 判断该用户是否存在
        if (!isset($validata[0])) {
            return view('notfound');
        }

        // 判断是否是被禁用
        if ($validata[0]->user_status = 0) {
            return redirect()->route('home.login')->with('message', '您已被禁用，请联系管理员');
        }

        // 获取站点信息
        $sate = IndexApi::getSate();
        $index = new ShowLinksController;

        // 获取站点信息
        $linksArray = $index->index();

        // 返回视图层
        return view('Home.goods-user_account', ['user' => $user, 'sate' => $sate, 'linksArray' => $linksArray]);
    }

    // 显示用户地址管理页
    public function ShowAddRessPage(Request $request)
    {
        // 找到session中的用户
        $user = $request->session()->get('Homeuser-data');

        // 找出数据库内的用户
        $validata = HomeUserModel::select('id')->where('id', $user['id'])->get();

        // 判断该用户是否存在
        if (!isset($validata[0])) {
            return view('notfound');
        }

        // 判断是否是被禁用
        if ($validata[0]->user_status = 0) {
            return redirect()->route('home.login')->with('message', '您已被禁用，请联系管理员');
        }

        // 获取站点信息
        $sate = IndexApi::getSate();

        $index = new ShowLinksController;

        // 获取站点信息
        $linksArray = $index->index();

        // 获取用户信息5
        $userinfo = $request->session()->get('Homeuser-data');

        // 获取地址
        $address = $validata[0]->address->toArray();

        // 准备对比数据
        $number = 0;

        if (empty($address)) {
            return view('Home.goods-address', ['user' => $user, 'address' => $address, 'sate' => $sate, 'linksArray' => $linksArray]);
        }

        // 循环判断是否有默认地址
        foreach ($address as $v) {
            if ($v['whether_address'] == 1) {
                $number += 1;
            }
        }

        // 没有默认地址
        if ($number == 0) {
            // 定义一个默认地址
            dd($address);
            HomeUserAddress::where('id', $address[0]['id'])
                ->update([
                  'whether_address' => 1,
                ]);
            // 重新找到数据
            $address = $validata[0]->address->toArray();
        }

        // 返回视图层
        return view('Home.goods-address', ['user' => $user, 'address' => $address, 'sate' => $sate, 'linksArray' => $linksArray]);
    }

    // 返回编辑用户视图层
    public function EditUser(Request $request)
    {
        // 找到session中的用户
        $user = $request->session()->get('Homeuser-data');

        // 找出数据库内的用户
        $validata = HomeUserModel::select('id')->where('id', $user['id'])->get();

        // 判断该用户是否存在
        if (!isset($validata[0])) {
            return view('notfound');
        }

        // 判断是否是被禁用
        if ($validata[0]->user_status = 0) {
            return redirect()->route('home.login')->with('message', '您已被禁用，请联系管理员');
        }

        // 获取站点信息
        $sate = IndexApi::getSate();
        $index = new ShowLinksController;

        // 获取站点信息
        $linksArray = $index->index();
        // 返回视图层
        return view('Home.goods-useredit', ['user' => $user, 'sate' => $sate, 'linksArray' => $linksArray]);
    }

    /**
     * 显示忘记密码页
     */
    public function ShowForGetPasswordPage(Request $request)
    {
        // 找到session中的用户
        $user = $request->session()->get('Homeuser-data');

        // 找出数据库内的用户
        $validata = HomeUserModel::select('phone')->where('id', $user['id'])->get();

        // 判断该用户是否存在
        if (!isset($validata[0])) {
            return view('notfound');
        }

        // 判断是否是被禁用
        if ($validata[0]->user_status = 0) {
            return redirect()->route('home.login')->with('message', '您已被禁用，请联系管理员');
        }

        // 获取站点信息
        $sate = IndexApi::getSate();
        $index = new ShowLinksController;

        // 获取站点信息
        $linksArray = $index->index();

        // 返回视图层
        return view('Home.goods-forgetpassword', ['user' => $validata[0], 'sate' => $sate, 'linksArray' => $linksArray]);
    }


}
